<?php

include_once("banco.php");

class QVOIPM extends Banco {

	/**
     * Retorna lista de chamadas ordenadas pela
     * data de inicio
     */
	public function getChamadas()
	{
		$this->getQuery("SELECT id, INET_NTOA(ipOrigem), INET_NTOA(ipDestino), aberta, FROM_UNIXTIME(dataInicio/1000), FROM_UNIXTIME(dataFim/1000), " .
						"frequencia, nPacotes, sJitter, sAtraso, sPerda, sFatorR " .
						"FROM qvoipm.Chamadas ORDER BY dataInicio");
	}

	public function getChamadasFrom($inicio)
	{
		$this->getQuery("SELECT id, INET_NTOA(ipOrigem), INET_NTOA(ipDestino), aberta, FROM_UNIXTIME(dataInicio/1000), FROM_UNIXTIME(dataFim/1000), " .
						"frequencia, nPacotes, sJitter, sAtraso, sPerda, sFatorR " .
						"FROM qvoipm.Chamadas WHERE " .
						"dataFim >= $inicio*1000 ORDER BY dataInicio");
	}

	public function getChamadasUntil($fim)
	{
		$this->getQuery("SELECT id, INET_NTOA(ipOrigem), INET_NTOA(ipDestino), aberta, FROM_UNIXTIME(dataInicio/1000), FROM_UNIXTIME(dataFim/1000), " .
						"frequencia, nPacotes, sJitter, sAtraso, sPerda, sFatorR " .
						"FROM qvoipm.Chamadas WHERE " .  
						"dataFim <= $fim*1000 ORDER BY dataInicio");
	}

	public function getChamadasFromUntil($inicio, $fim)
	{
		$this->getQuery("SELECT id, INET_NTOA(ipOrigem), INET_NTOA(ipDestino), aberta, FROM_UNIXTIME(dataInicio/1000), FROM_UNIXTIME(dataFim/1000), " .
						"frequencia, nPacotes, sJitter, sAtraso, sPerda, sFatorR " .
						"FROM qvoipm.Chamadas WHERE " . 
						"dataFim >= $inicio*1000 AND dataInicio <= $fim*1000 " .
						"ORDER BY dataInicio");
	}

	/**
     * Retorna chamada, se existir, com id dado
     */
	public function getChamadaFromID($id)
	{
		$this->getQuery("SELECT id, INET_NTOA(ipOrigem), INET_NTOA(ipDestino), aberta, FROM_UNIXTIME(dataInicio/1000), FROM_UNIXTIME(dataFim/1000), " .
						"frequencia, nPacotes, sJitter, sAtraso, sPerda, sFatorR " .
						"FROM qvoipm.Chamadas WHERE id=$id");
	}

	/**
     * Retorna lista de parametros especificos das chamadas ordenadas pela
     * data de inicio
     */
	public function getChamadasP($parametros)
	{
		$this->getQuery("SELECT $parametros FROM qvoipm.Chamadas ORDER BY dataInicio");
	}

	/**
	 * Retorna lista de pacotes de uma chamada
	 */
	public function getPacotesFromChamada($id)
	{
		$this->getQuery("SELECT Qualidade.id, Codecs.nome, jitter, atraso, perda, fatorR " . 
						"FROM qvoipm.Codecs, qvoipm.Qualidade WHERE Qualidade.codec=Codecs.pt AND chamada=$id");
	}

	/**
	 * Retorna lista de parametros especificos dos pacotes de uma chamada
	 */
	public function getPacotesFromChamadaP($id, $parametros)
	{
		$this->getQuery("SELECT $parametros " . 
						"FROM qvoipm.Codecs, qvoipm.Qualidade WHERE Qualidade.codec=Codecs.pt AND chamada=$id");
	}
}

?>
